using MediatR;
using RBAC.ErrorCode;
using RBAC.Read.Api.Application.Dto.ERP.SalesManagement.H;
using System.Collections.Generic;

namespace RBAC.Read.Api.Application.Command.ERP.SalesManagement.H
{
    /// <summary>
    /// 获取发货通知单明细列表命令
    /// </summary>
    public class GetDeliveryNoticeItemListCommand : IRequest<APIResult<GetDeliveryNoticeItemListDto>>
    {
        /// <summary>
        /// 发货通知单主表ID（可选，不传则查询所有明细）
        /// </summary>
        public long? DeliveryNoticeId { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string? MaterialCode { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string? MaterialName { get; set; }

        /// <summary>
        /// 页码
        /// </summary>
        public int PageIndex { get; set; } = 1;

        /// <summary>
        /// 每页大小
        /// </summary>
        public int PageSize { get; set; } = 10;
    }

    /// <summary>
    /// 发货通知单明细列表查询结果DTO
    /// </summary>
    public class GetDeliveryNoticeItemListDto
    {
        /// <summary>
        /// 总记录数
        /// </summary>
        public int TotalCount { get; set; }

        /// <summary>
        /// 发货通知单明细列表
        /// </summary>
        public List<DeliveryNoticeItemDto> Items { get; set; } = new List<DeliveryNoticeItemDto>();
    }
} 